package com.hpeu_12.day1228;

/**
 * 第一题：分析以下需求，并用代码实现
 * 	1.项目经理类Manager
 * 		属性：
 * 			姓名name
 * 			工号id
 * 			工资salary
 * 			奖金bonus
 * 		行为：
 * 			工作work()
 * 	2.程序员类Coder
 * 		属性：
 * 			姓名name
 * 			工号id
 * 			工资salary
 * 		行为：
 * 			工作work()
 * 	要求:
 * 		1.按照以上要求定义Manager类和Coder类,属性要私有,生成空参、有参构造，setter和getter方法
 * 		2.定义测试类,在main方法中创建该类的对象并给属性赋值(演示两种方法:setter方法和构造方法)
 * 		3.调用成员方法,打印格式如下:
 * 			工号为123基本工资为15000奖金为6000的项目经理正在努力的做着管理工作,分配任务,检查员工提交上来的代码.....
 * 			工号为135基本工资为10000的程序员正在努力的写着代码......
 */
public class Company {
    public static void main(String[] args) {
        /**
         * 经理
         */
        Manager manager=new Manager();
        manager.setName("张三");
        manager.setId(111);
        manager.setSalary(20000);
        manager.setBonus(5000);
        System.out.println(manager.getName());
        work(manager.getId(),manager.getSalary(),manager.getBonus());
        /**
         * 程序员
         */
        Coder coder = new Coder("李四",222,10000);
        System.out.println(coder.getName());
        work(coder.getId(), coder.getSalary());
    }
    public static void work(int b, int c, int d){
        System.out.println("工号为"+b+"基本工资为"+c+"奖金为"+d+"的项目经理正在努力的做着管理工作,分配任务,检查员工提交上来的代码.....");
    }
    public static void work(int b, int c){
        System.out.println("工号为"+b+"基本工资为"+c+"的程序员正在努力的写着代码......");
    }
}

/**
 * 项目经理类Manager
 */
class Manager {
    private String name;//名字
    private int id;//工号
    private int salary;//工资
    private int bonus;//奖金

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getSalary() {
        return salary;
    }

    public void setSalary(int salary) {
        this.salary = salary;
    }

    public int getBonus() {
        return bonus;
    }

    public void setBonus(int bonus) {
        this.bonus = bonus;
    }
    //无参构造器
    public Manager(){
        System.out.println("无参构造器");
    }
    //有参构造器
    public Manager(String name){
        this.name=name;
    }

}

/**
 * 程序员类Coder
 */
class Coder{
    private String name;
    private  int id;
    private int salary;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getSalary() {
        return salary;
    }

    public void setSalary(int salary) {
        this.salary = salary;
    }
    //无参构造器
    public Coder(){
        System.out.println("无参构造器");
    }
    //有参构造器
    public Coder(String name,int id,int salary){
        System.out.println("有参构造器");
        this.name=name;
        this.id=id;
        this.salary=salary;
    }

}